#include "SuperpositionChecker.h"

checkSuperpositions(){
	;
}



int superposicionCuadrados(int x1, int y1, int h1, int w1, int x2, int y2, int h2, int w2)
{
     if (( (x1+w1) > x2 ) && ( (y1+h1) > y2 ) && ( (x2+w2) > x1 ) && ( (y2+h2) > y1 ) ) {return 1;}
     else {return 0;}
}

int superposicionCirculos(int x1, int y1, int r1, int x2, int y2, int r2)
{
  int dx,dy;

  dx = x1-x2;
  dy = y1-y2;
  dx*=dx;
  dy*=dy;

  if ( sqrt(dx+dy) < (r1+r2) ) {return 1;}
  else return 0;
}


int puntoDentroCirculo(int cx, int cy,float r, int ax, int ay)
{
   
    if ( sqrt ( (cx - ax)*(cx - ax) + (cy - ay)*(cy - ay) ) <= r ) {return 1;} // el punto a(ax,ay) esta dentro del circulo(cx,cy,r)
    else {return 0;}
}



int puntoDentroCuadrado(int x1, int y1, int h1, int w1, int x2, int y2)
{

    int distanciaX = x1 - x2;
    int distanciaY = y1 - y2;
   
    int longitudX = (w1)/2;
    int longitudY = (h1)/2;



    if (distanciaX < 0) { distanciaX = distanciaX * (-1);}
    if (distanciaY < 0) { distanciaY = distanciaY * (-1);}

   
    if ( ( ( distanciaX) <= ( longitudX )  ) &&
         ( ( distanciaY) <= ( longitudY )  )    ) {return 1;} // el punto (x2,y2) esta adentro del cuadrado
    else {return 0;}
}

int superposicionCirculoCuadrado(int x1, int y1, int h1, int w1, int x2, int y2, float r2)
{
      int longitudX = (w1)/2;
    int longitudY = (h1)/2;
   
    int distanciaX = x1 - x2;
    int distanciaY = y1 - y2;

    if (distanciaX < 0) { distanciaX = distanciaX * (-1);}
    if (distanciaY < 0) { distanciaY = distanciaY * (-1);}

    if ( ( distanciaX ) <= ( r2 + longitudX )  &&
       ( distanciaY ) <= ( r2 + longitudY )    ) {return 1;}
  else {return 0;}
}